Single wheel robot system and its control method

ABSTRACT

This invention relates to a single wheel robot system and its control method. The robot is an intelligent self-control and thus self-balancing unicycle riding robot. The control method is the balance control method of the static imbalance unicycle robot. The single wheel robot includes mechanical body and control system; the body contains a single wheel in the substructure which can rotate around for balance; the control system comprises state sensors, motion controller, servo-driven controllers, and a power system. Among them, the motion controller receive signals from the state sensors, in accordance with control procedures for processing of the received signal, thereby issuing control instructions. The servo drive controller receives the control instructions and controls the motors of the robot to adjust posture to be balanced.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the priority benefits of Chinese application No.2009100887086 filed on Jul. 18, 2009, the content of which is herebyincorporated by reference in its entirety.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a single wheel robot system and its controlmethod. The robot is an intelligent self-control and thus self-balancingunicycle riding robot. The control method is the balance control methodof the static imbalance unicycle robot.

2. Description of Related Art

Riding unicycle is complicated activity requiring a lot of advancedskill of balance. This capacity need to go through a special study,training. Inventing an autonomous robot to imitate riding unicycle isthe drive motion of such invention.

Single wheel robot is designed to imitate the activities of peopleriding a single wheel bicycle. The emergence of the bionic robot systemis a result of rapid development and integration of artificialintelligence, intelligent control, machine design, robotics, and otherrelated areas. Single wheel robot has obvious features of dynamicbalance that static balance robot is different from. Single wheel robothas broad application prospects: With the complexity of its own uniquebalance of control problems, it can be used as a platform for uniquefeatures and tools in scientific research, display and entertainment;With its dynamic equilibrium properties, it would be applied to complexterrain environment, for transport, rescue and detection; With its slimshape it would be used as monitor robots, to realize the narrow parts ofmonitoring; In the aerospace field, a special lunar vehicle can even bedeveloped based on single wheel robot.

Compared to the static equilibrium robot (such as the four wheels mobilerobot), single wheel robot has the following salient features: 1) Therobot's movement is based on the process of achieving a state ofequilibrium, that is, robots must be stabilized before they can carryout other sports. So this movement is a dynamic process balancingprocess; the robot adjusts constantly in the vicinity of equilibriumpoint to maintain balance. While this increased the difficulty tocontrol the robot, this enable it to complete many complex movementtasks of balance; 2) Since there is only one wheel, the hardware ofsingle wheel robot is more simple, lighter, motion is also moreflexible; 3) If the robot body adds the robot arm, dexterous hands,head, etc., the robot can be in a unique way to achieve the appropriatedynamic balance tasks, such as cycling in a very narrow path, riding offa very narrow beam, turning around in-situ, or even completing thedifficult action of high-wire like a person.

The existing single wheel robots have mostly only driver and controllayer on the robot's body as the basic functions, there is no soundmacro-planning and visual functions, or transmitting information need tothe Host computer processing. The robot does not have the ability todeal with this information, for example, the robot “Murata Girl”, height50 cm, weight 5 kg, speed of 5 cm/s, developed by Japan's MurataManufacturing unicycle ride. In the control field, left and rightdirection (roll) through vertical rotating inertia of robot body with abalance wheel to keep balance. The front and rear direction (pitch), themotor of the body rotates the unicycle wheel through the chain oftransmission to maintain balance. In the measure, a tilt detecting gyrosensors is equipped in order to control the balance in two directions,respectively. In addition, it is equipped with ultrasonic sensors todetect obstacles, blue tooth module to send and receive controlinstructions, ceramic oscillator, the NTC Thermistor to test thetemperature, etc. But “she” has no mechanical arms and dexterous hand toperform some tasks, still has no ability of complex task such us visualmission. She transmits the information to the host computer forprocessing and lacks the flexibility to expand Debugging with castorscomponents. Her wheel is the complicated chain drive mode. Her detectionin only four single-axis gyro will produce the angle integral migrationissue, and ultimately lead to system instability.

SUMMARY OF THE INVENTION

Think of the above problems, this invention has designed a robot thatcan ride unicycle, and put forward a single wheel balancing robot motioncontrol methods. The robot system not only can be used as an openplatform for intelligent robotics research and development of controlscience, robotics, artificial intelligence and other fields of researchand teaching of subjects, but also can be an instrument with uniquefeatures in entertainment and exhibition.

In order to achieve the above objectives, the invention has taken thefollowing technical solutions:

Design a single wheel robot systems, including mechanical body andcontrol systems; mechanical body including the lower balance componentswith a balanced single wheel (14) and an adjustable upper and lowerbracket (13) for debugging; the upper balance components includes theinertia flywheel (17) and the flywheel motor (18); control systemconsists of state sensors, motion controller (10) and two servo drivecontroller and power supply system, of which the state sensors includesattitude sensors and speed sensors. Motion controller (10) receivessignal from state sensors will then issues control instructions throughcontrol procedures and the signals. The two servo-drive controllersreceives control instruction, respectively, through the single wheelmotor (12) and flywheel motor (18) controls rotation of the single wheel(14) and the inertia flywheel (17) to balance the robot.

Under the debugging support (13), all around, each direction set has aremovable castor 15.

The inertia flywheel (17) are pairs of removable structure, consists oftwo semicircular side by side.

Including the aluminum frame rigid body, modular robotic head and neckconsisting of two-dimensional PTZ, detachable robot arm (6). The end ofthe arm (6) is multi-fingered robot hand (7). The upper balancecomponents and the lower balance components constitute of the balancecontrol structure, in which the lower balance components includes abalanced single wheel (14) and single wheel motor (12). The upperbalance components includes the inertia flywheel (17) and the flywheelmotor (18). Attitude sensor of control system are inclinometer asdescribed (19) and Gyro (20); the speed sensor is the encoders installedon the single wheel motor (12) and the flywheel motor (18); the motioncontroller (10) MTS2812 is a digital signal processor card; the servodrive controllers are the servo drives named ACJ-55-18; power supplysystem are the power supply board (5) and the rechargeable Lithiumbatteries module (9).

The robot's perception sensors also includes a dual-camera vision sensor(1) installed in the robot's head, MIC constituting a hearing sensorsand infrared sensors (2) located between the pairs of cameras, and sonarsensors (11) installed in the robot waist, remote control receiver, etc;The main controller (3)-EPC can receive information of the motioncontroller (10)-DSP and auxiliary controller-MCU information, andprovide control instructions for the motion controller (10) and passvoice command the speaker (16).

The robot castors are mainly used for support the static and fixed bodystructure, when necessary they can be removed or lift. Robot motioncontrol methods are as follows:

-   -   1) Master controller (3) compute the robot straight and yaw rate        control commands and issue to the motion control device (10) to        implement in accordance with soft procedures or to commands from        the remote control instruction of user, and the feedback of        sensors, through the decision-making algorithm. Its        decision-making algorithm consists of the following steps to        complete: Action generator, refer to the user command or        ultrasonic distance measurement information to calculate        expectations of straight and yaw rate control commands, and then        the decision-making device (motion controller) determines        whether the implementation of the expectations of control        commands according to the status of robot posture. If the robot        is balanced, the expected control commands turns into the actual        control commands; or the instruction of the master controller        will not become the actual control command and the actual        control command will be zero, that is, first adjust the robot        balance. Then carry out the instruction; The command Generator        Optional: look-up table, dynamic programming, fuzzy logic or        expert system and so on.    -   2) In a motion control cycle, the motion controller (10) reads        the feedback signal of the inclinometer on the robot base (19),        gyroscopes (20), and compare the value of zero inclination angle        to calculate the error signal of the angle and angle speed; the        feedback signal obtained by the following steps: motion        controller (10) Multiply acquire output signal of the        inclinometer (19) and the Gyro (20), and DSP calculate the        feedback signal through signal processing algorithms    -   3) Motion Controller (10) reads the feedback signal of motor        encoders, calculates robot speed, and derives error signal        through comparing the control command given by the main        controller (3);    -   4) According to the error signal, Motion Controller (10)        calculates the control value of motors according to the balance        control algorithm and then sends to the servo drive controller;        The motion balance control algorithm: with the use of decoupling        control theory, the inclination will be decomposed to the        robot's pitch degree of freedom and the roll degree: Angle_(FB),        Angle_(LR) and the angle speed AngleV_(FB), AngleV_(LR), and        then use the established PID control algorithm, or fuzzy        control, or the LQR, or a pole placement algorithm, or robust        control algorithm, or other control algorithm to obtain the        required Control value: U_(U), U_(D). And then control each        motor to control the single wheel-M_(D), the inertia flywheel        motor-M_(U);    -   5) Servo drive controllers (12) control the flywheel motor (18)        and the single wheel (14) motor in the debug bracket (13), then        the motors drive the inertia flywheel balancing component (17)        and the single wheel (14), the movement of the wheels adjust the        robot balance and exercise the prescribed command; the motor        armature current feedback loop achieves the motor torque        control. The servo control cycle is far less than the robot        motion control cycle.

After removed the forward and back casters (15) of the debugging support(13) and left the other casters (15) in the same horizontal line, therobot turns into a forward and back balance robot with the single wheel(14) like a Pendulum robot. Above control methods can also be. Afterremoved the left and right casters (15) of the debugging support (13)and left the other casters (15) in the same horizontal line, the robotturns into a left and back balance robot with the single wheel (14) oran autonomous robot riding a bicycle. Above control methods can also be.

The robot can work properly in mini mode retaining only the robotmechanical ontology in the trunk, the overall balance of controlstructure, inclinometer (19), gyroscopes (20), encoder, MTS2812 digitalsignal processor board and two servo drives ACJ-55-18 of control system,power supply board (5) and rechargeable battery module (9). The smalleststructure robot control method is only for the motion controller (10)and servo drive controller. The control programs run on the motioncontroller 10 respectively and servo drive controller 4, 8 of singlewheel and flywheel for all the balance of the robot. The control programof motion controller 10 and servo drive controller are as follows:

(1) The Program in the Motion Controller (10):

Proceedings do some necessary initialization to complete the variablesand DSP registers initialization at first. The main configuration willbe taken in the I/O ports and A/D channel, general purpose timers T1-T4,one cycle of the timer T1 for the interruption, T2, T4 for the encodercounters, T3 for the PWM signal output compare timer; and then open thePWM output to send to the servo drive controller enable signal; finally,to an infinite loop wait for interrupt arrival of each loop controlprocedures implemented in the detection and control algorithms;

When T1 timer expires 25 ms interrupt, DSP responses to the interrupt,save the current procedures for the scene, goes the timer interruptprogram, the process (control program) are:

-   -   1) Close timer T1 interrupt, ready to start;    -   2) Obtain the information of all Encoders. Each encoder output        signal is two sets of orthogonal coding sequence, the orthogonal        encoder pulse circuit of DSP capture these two sets of signal.        Rising and falling edges are counted. As a result the clock        frequency is four times each input sequence. So after reading        the values of the general-purpose timers T2 and T4, divide them        by four, to get the number of encoder pulses output n_(u), n_(d)        in a cycle;    -   3) Calculate the cumulated straight-line displacement of the        robot and the linear speed: the angle of each wheel can be        calculated by the information from the encoder during the cycle.        Due to control cycle is very short (25 ms), the speed of wheels        ω=φ/T and the straight-line speed V_(x)=ω·R/2 of wheels can be        approximately calculated. R stands for the wheel radius. Due to        control cycle is very short, Multiply accumulate the product of        V_(x) and T of the this control cycles and the accumulated        linear displacement, to the current accumulation of linear        displacement can be acquired, that is x(t)=x(t−T)+V_(x)T;    -   4) The analog voltage signal is converted to digital by A/D        converter. In order to avoiding the incidental factors, each of        the signal are continuously sampled 10 times for A/D conversion.        Remove the maximum of which and the minimum value, the average        is assigned to the corresponding voltage variables: U_(θ) ₁ ,        U_({dot over (θ)}) ₁ , U_(θ) ₂ ), U_({dot over (θ)}) ₂ . A        degree of freedom is calculated on the inclination, through the        formula: θ=(U_(θ)−U₀)/S₂. θ the corresponding robot's tilt        angle. U_(θ) is the calculated mean voltage. U₀ is a zero        voltage, S₂ is the sensitivity of the inclinometer (19).    -   5) The inclination angle speed {dot over (θ)} can be obtained        through the SPI.    -   6) The PWM duty cycle corresponding the torque of two control        motor can be acquired through the motion control algorithms, the        control command X^(C) as a reference input; the x, V_(x), θ₁,        {dot over (θ)}₁, θ₂, {dot over (θ)}₂ as state feedback. The        absolute value of the scope of torque: [0, 6] (Nm),        corresponding to 0˜100% duty cycle. When the duty is greater        than zero the motor turns the positive. When the duty is less        than zero the motor turns the negative. The algorithm of        movement balance control as follows:        -   a) Establishes the robot mathematical model, according to            the robot mechanical system characteristics and parameters.            linear state space equation can be acquired by linearization            around the equilibrium point:

{dot over (X)}=AX+Bu

-   -   -    Where X=[θ₂, θ₁, ω, η, {dot over (θ)}₂, {dot over (θ)}₁,            {dot over (ω)}, {dot over (η)}]^(T), u=[τ_(d) τ_(u)]^(T), θ₁            for pitch angle; {dot over (θ)}₁ for pitch angle velocity;            θ₂ for roll angle; {dot over (θ)}₂ foe roll angle velocity,            ω for the wheel rotation angle, {dot over (ω)} for the wheel            rotation angular velocity, η for the inertia flywheel (17)            rotation angle, {dot over (η)} for the inertia flywheel (17)            angular velocity.

$A = \begin{bmatrix}0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\24.9770 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 60.9590 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & {- 108.3715} & 0 & 0 & 0 & 0 & 0 & 0 \\{- 24.9770} & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{bmatrix}$ $B = \begin{bmatrix}0 & 0 \\0 & 0 \\0 & 0 \\0 & 0 \\0 & {- 1.4159} \\{- 14.3988} & 0 \\40.4128 & 0 \\0 & 134.7493\end{bmatrix}$

-   -   -   b) That the system is completely controllable can be proved            through the control matrixes of the pitching motion            subsystem and roll movement subsystems are full rank. The            value of each state variable of the system can also be            measured.        -   c) By decoupling control theory, the whole robot system            control tasks can be decomposed into pitch degree of freedom            to control and roll degree of freedom to control. And            therefore, θ_(u) ^(c), θ_(d) ^(c) is reference input for the            two subsystems, respectively, the state θ_(i), {dot over            (θ)}_(i) (i=u,d;), That is the inclination of two DOF as the            feedback of the balance control system. The two inner angle            control subsystem of the state feedback controller can be            designed by PID control method: PID control parameters can            be acquired by the critical shock method. As:

${Tilt}\mspace{14mu} {inner}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ {\begin{matrix}{K_{p}^{u} = 6000} \\{K_{i}^{u} = 3} \\{{K_{d}^{u} = 5200};}\end{matrix}{Roll}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{d} = 20000} \\{K_{i}^{d} = 3} \\{K_{d}^{d} = 20000}\end{matrix} \right.} \right.$

-   -   -    The PID control parameters of the robot outside the            closed-loop displacement control can be obtained in the same            method:

${Outer}\mspace{14mu} {X({distance})}\mspace{14mu} {Control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{x} = 0.02} \\{K_{i}^{x} = 0} \\{{K_{d}^{x} = 0.148};}\end{matrix} \right.$

-   -   1) Refresh the output of the PWM duty cycle to the servo drive        and the motor rotation direction;    -   1. Set timer T1, re-start 25 ms timing, set T2, T4, re-start        counting;    -   2. Open T1 interrupts, exit interrupt control procedure;

(2) The Servo Drive Controller Control Program:

The servo drive ACJ-55-18 supporting PC-side software COPLEY MOTION2,automatically calculate the DC motor servo program PI regulatorparameters according to input parameters. The servo-control proceduresis automatically generated after the simple structure of control systemsetting and downloaded to the storage unit of ACJ-55-18 through theserial port. The servo process control cycle is 1 ms. Signals ofDSP-output PWM and turn were motor reference torque and reference shift.The armature current is negative feedback. The overall control loop ofmotor torque is PID servo control.

Compared to existing static equilibrium robot, such as s the four wheelsmobile robot, the invention provides a control platform for roboticsresearch, the field of control science, intelligent control and othermulti-disciplinary research and teaching. And it has the followingadvantages:

-   -   1) 2 coupled degrees of freedom make non-linear and uncertainty        of the system increase, and more suitable for nonlinear control,        robust control, intelligent control and learning control        research. The adjustable bracket for debugging robot can not        only change the height of the support caster 15, but also can        turn the robot into equivalent of three front-line mobile        inverted pendulum like self-balancing “Segway” scooter, or        self-balancing bicycle-riding robot like “Murata Boy” after the        castors 15 of one of the degrees of freedom removed.    -   2) Control systems can be classified into three main control        layer: 1, main controller (3) 2, motion controller (10), 3,        servo-driven controller. Such three-level hierarchical control        structure is in line with biotechnology. All controllers carry        out their duties, integrating the robot with high processing        ability and intelligence level. A lot of kinds of complex        control algorithms, motion control skills and learning of other        intelligent behavior can be effectively carried out.

Modular design concept makes the robot structured, every part of therobot removable and replaceable except the smallest components of thesystem for system maintenance or upgrades. This provides a greatconvenience to user's flexible demand. Such as: visual sensor systemsand voice processing systems may be added to run the visual recognition,speech recognition function; a remote control system and obstacleavoidance systems can be equipped to provided the robot with a remotelyoperated and autonomous obstacle avoidance ability.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is the main view of a single wheel robot's mechanical structure;

FIG. 2 is the side view of the mechanical structure of single wheelrobot;

FIG. 3 is the single wheel robot electrical system schematic diagram;

FIG. 4 is the main program flow chart of the single wheel robot's motioncontroller;

FIG. 5 for the single wheel robot minimum system wiring diagram of theelectrical system;

FIG. 6 for the single wheel robot motion control system block diagram;

FIG. 7 for main view of minimum system architecture of the single wheelrobot.

In the figure: 1, vision sensors; 2 infrared sensors; 3, hostcontroller; 4, flywheel servo drive controller; 5, power board; 6, arm;7, mechanical hands; 8, Single Wheel servo drive controller; 9,rechargeable battery module; 10, motion controller; 11, sonar sensors;12, single wheel motors; 13, debug bracket; 14, Single Wheel; 15,Castor; 16, speakers; 17, inertia flywheel; 18, flywheel motor; 19,Inclinometers; 20, gyroscopes.

DESCRIPTION OF THE EMBODIMENTS

The detailed description of this invention combination of FIG. 1-FIG. 7is as follows:

The invention of autonomy unicycle riding robot system includes themechanical body and electrical systems (control systems), in which theoverall structure of machine body:

Trunk: Aluminum alloy rigid robot body.

Head and neck: two-dimensional PTZ modular. The head of robot can be upand down or rotated.

Arm 6 and hand 7: replaceable, modular, multi-fingered mechanical handto complete the operant task.

Overall balance structure of the control: the lower balance components(the lower shaft components, mainly for single wheel) and the balance ofcomponents (the upper shaft components, mainly inertia flywheel) ofvertical installation structure.

Design principles: modular design ideas: each component is a unit, caneasily be replaced. Such as the robot's head can be with two-dimensionaldegrees of freedom installed with binocular vision, hearing and speaker16. The modular head can also be installed with a monocular visualfunction. Replacement of the two only needs to remove the four screwsfixing the head, and then the head can be replaced with a new modular.Arm 6, hand 7, sonar and other sensors 11 are modular designed andreplaceable. Inertia flywheel 17, single wheel 14, debug bracket 13, andall other designed part can be replaced, or transform height; motor sizecan also be replaced. The space of Replacement is reserved. Differentmodules can be completely universal if they meet the standard interface.Replacement is very simple.

Machine body of the robot includes eight major components:

-   -   1. Robot base components: installation of attitude sensors        (including the inclinometer 19, gyroscope 20).    -   2. Waist components: installed rechargeable battery module 9 and        the sonar sensors 11 (8-12 pieces) around the waist, and remote        control receiver.    -   3. Upper body components: installation of an organized-class        main controller 3: EC3-1811 industrial computer, the        control-level motion controller 10: MTS2812 digital signal        processor board, the control-level auxiliary controller:        MPCE061A development board, flywheel and Single Wheel servo        drive controller 4, 8; 2 servo drives ACJ-55-18, power supply        card 5, as well as USB-Serial Communication Module Visual        USB_RS232 module.    -   4. Lower balance components (lower the shaft components)        includes: single wheel 14, Single Wheel motor 12, reducer,        encoder (speed sensor), as well as ball bearings and so on.        Single Wheel 14 fixed forward and backward (the shaft of single        wheel 14 was fixed left and right), to achieve the forward        direction movement of robot and balance control of the ride.    -   5. Upper balance of components (upper the shaft components)        includes: inertial flywheel 17, the flywheel motor 18, reducer,        encoder (speed sensor), as well as ball bearings and so on. The        Inertia flywheel 17 is fixed left and right direction to balance        Left direction of the robot of the roll DOF.    -   6. Head components: vision sensor 1, auditory sensors, infrared        sensors 2, acoustic devices (speakers 16), robotic neck with raw        and pitch degrees of freedom control of steering two-dimensional        PTZ and so on can be installed.    -   7. Arm components: robot arm 6 with four degrees of freedom.    -   8. Dexterous hand components: dexterous hand 7 with 9 DOF and        three-fingered manipulator in the end of the arms.

Among them, 1, 2, 3 constitute a robot trunk, 1, 2, 3, 4, 5 constitutethe basic structure of the robot.

Electrical system is mainly divided into: sensory systems, controlsystems, power system.

Sensory system is the robot's “eyes”, “ears” and other components ofaccess to outside information, including: vision sensors 1, infraredsensors 2, sonar sensors 11, attitude sensors, speed sensors, auditorysensors, remote control receiver.

Vision sensor in front of a robot used to detect visual images, captureimage information transmitted to the brain (organizational level) forprocessing;

Infrared sensor 2—detect whether there is human activities in the front.The implementation of the case uses infrared micro-sensor module ofhuman KT-0003B.

Sonar sensors 11—ultrasonic sensor 11, installed in the robot's waist isequivalent to bat's mouth and ears. When they work, the robot can takeadvantage of the sensor measured the distance the object around, whichmay form a barrier sonar systems, and then complete the obstacleavoidance task;

Attitude sensors—inclinometer 19 and gyroscopes 20, inclinometer 19 fordetecting robot relative to the upright position tilt angle and rollangle. Gyro 20 is used for detecting the velocity of the inclination.Both provide important state information for the robot.

Speed sensor is installed in the end of motor as the optical encoder ormagnetic encoder. Speed sensor convert speed signals into electricalsignals sent to the motion controller 10. The implementation of the caseuses magnetic encoder as a speed sensor.

Auditory sensors—Receive audio signals, such as the human voice signals.MIC in this case is used as Hearing sensor, integrated in camera.

Remote Control Receiver—Receive temporary remote control directives.

Control system is the nerve network of the robot, which uses a varietyof signal provided by sensory system to process and map, finally issuesa variety of real-time robot motion commands. It includes thedrive-level muscles of the robot (servo drive controller and motor), thecontrol-level cerebellum (motor controller) and the organizational levelcentral nervous system (primary controller). Among them, flywheel,single wheel motor and servo drive control system is equivalent to themuscle; digital signal processor (DSP)—balance and motor controlcenters, and support management system is equivalent to the cerebellacontrol system—the motion control device (10) and the auxiliarycontroller; industrial control computer (EC3-1811) as a macro-planningand management of the central nerve center is equivalent to the brain ofthe robot, that is the main controller (3).

Power system is equivalent to the digestive system of the robot, whichprovides all energy for the robot to think and movements. Power systemmainly is the power supply board (5) and rechargeable batteries (9).

The main controller (3) is Embedded Computer (EPC) systems, such asEC3-1811 Industrial Computer.

Motion controller 10 is digital signal processor (DSP) system.

Auxiliary controller is microcontroller (MCU), DSP or other embeddedsystems.

Servo drive controller use servo drive—ACJ-55-18.

Flywheel, single wheel motors can choose DC torque motor with reducer,DC brush motors or brushless DC motor.

Power system: Rechargeable Battery Module (9) uses lithium batteriesLBS-100C, power supply board five is PW4512.

The connection between the electrical system described as follows: themain controller (3) connects with motion controller (10), auxiliarycontroller and input and output devices such as vision sensor, infraredsensors, auditory sensors (MIC), speaker (16) (audible devices); motioncontroller (10) connects with inclinometer (19), gyroscope (20),encoders, servo drive controller; auxiliary controller connects withultrasonic sensors and remote control receiver (integrated withassistant controller); rechargeable battery module (9) and board (5) isthe power supply of all electrical equipment.

Shown in FIG. 4, the robot motion control method: the main controller(3) receives data from input devices (remote control receiver) of theuser operating instructions; monitors the sensor feedback information;from time to time refers to the user operating instructions and sensorfeedback, calculates the robot straight and yaw rate control commandsthrough the decision-making algorithm, issues to the motion controller(10) implementation; in a motion control cycle, the motion controller(10) reads the feedback signal of the inclinometer (19), gyroscope (20),and compares the value of zero inclination angle and inclination errorsignal; motion controller (10) reads the motor encoder feedback signal,calculates robot straight and yaw rate, compares with the controlcommands given by the main controller (3), derives error signal;according to, the motion controller (10) sent the error signal to theservo drive controller; servo drive controller controls the motors offlywheel and single wheel; motors drive inertia flywheel (18), singlewheel (14) to maintain the robot body balance and exercise in theprescribed manner:

The instructions of main controller (3) may be either real-time command,such as the remote control, etc. It can also be stored instructions,such as the program memory of the sequence of movement, etc. It can beboth action commands, such as forward, turn, etc. It can also be atask-based instruction, such as the autonomous obstacle avoidanceoperation, etc.

Main controller (3) communicates with the motion controller (10) to readfeedback information of inclinometer (19), gyroscope 20 and encoder. Itcommunicates with the auxiliary controller to obtain ultrasonic sensorfeedback and remote input commands;

Master controller (3) compute the robot straight and yaw rate controlcommands and issue to the motion control device (10) to implement inaccordance with soft procedures or to commands from the remote controlinstruction of user, and the feedback of sensors, through thedecision-making algorithm. Its decision-making algorithm consists of thefollowing steps to complete: Action generator, refer to the user commandor ultrasonic distance measurement information to calculate expectationsof straight and yaw rate control commands, and then the decision-makingdevice (motion controller) determines whether the implementation of theexpectations of control commands according to the status of robotposture. If the robot is balanced, the expected control commands turnsinto the actual control commands; or the instruction of the mastercontroller will not become the actual control command and the actualcontrol command will be zero, that is, first adjust the robot balance.Then carry out the instruction; The command Generator Optional: look-uptable, dynamic programming, fuzzy logic or expert system and so on.

Motion controller 10 collects inclinometer (19) and the gyro (20) outputsignal through the module (A/D) conversion and SPI ports, and afterfiltering, signal processing algorithms, provide the feedback signalused in a control cycle of.

Balance control algorithm of motion controller (10): With the use ofdecoupling control theory, the inclination will be decomposed to therobot's pitch degree of freedom and the roll degree: Angle_(FB),Angle_(LR) and the angle speed AngleV_(FB), AngleV_(LR), and then usethe established PID control algorithm, or fuzzy control, or the LQR, ora pole placement algorithm, or robust control algorithm, or othercontrol algorithm to obtain the required Control value: U_(U), U_(D).And then control each motor to control the single wheel-M_(D), theinertia flywheel motor-M_(U). And then controls motors to control themovement of single wheel (14) and the flywheel motor 18.

Servo drive controllers use armature current as feedback to achieve themotor torque control, servo control cycle is far less than the robotmotion control cycle.

The above control method is suitable for removal of all castors—thesituation of only the single wheel, also suitable for removal of somepairs of castors. When front and rear casters removed, this system is aninverted pendulum. Control method of an inverted pendulum can be used.The above-mentioned control method can also be used.

Here are the minimum system implementation cases of the presentinvention. (The smallest structure of the system as shown in FIG. 7)

(I) The Robot's Hardware

1. Electrical System Selection:

The motion controller (10) uses digital proceeding system—MSK2812 boardof Hurricane Co Ltd (Beijing). The board's processor use TI'sTMS320F2812 DSP, 5V DC power supply.

Emulator of MSK2812 uses XDS510USB, USB2.0 interface. Servo drives useACJ-55-18 of Copley Motion. Inclinometer (19) uses Crossbow's CXTA-02dual-axis inclinometer. Gyro (20) uses Analog Device's ADIS16355three-axis inertial navigation system.

Robot's drive motors (motor (12) of single wheel and motor (18) offlywheel) adopt Maxon's brushless DC motor kit EC32, 24V power supply,80 W power, 190:1 planetary gear reducer—GP32C, motors with incrementalphotoelectric encoder accuracy in 500 lines.

Rechargeable battery module 9 uses LBS-100C standard lithium batteries,nominal voltage: 29.6V, the scope of work: 33.6V-24V, Nominal Capacity:150 Wh, protection circuit: Built-in overcharge, over discharge,over-current and short circuit protection, integrated power control.

Power board 5 uses NORCO PW-4512 power supply module to provide thecontroller and other electronic equipment with power supply: inputvoltage: 16-40V DC, Output Voltage: ATX: +3.3V @ 5 A, +5V/+5VSB @ 5 A,+12V @5 A, −12V@0.8 A.

2. Mechanical Structure and Layout of Electrical Components

The total weight of the robot is 8 kg, height 520 mm, width 300 mm,length 220 mm, diameter of 14 Single Wheel 210 mm. Robot's mechanicalstructure and electrical component placement are as follows:

As shown in FIG. 7, the entire robot aluminum frame is divided intobase, waist, upper three layers. The column support structurefacilitates the installation of various electronic devices andelectrical components on the upper body. Various parts of the interfaceboard are hollow and reinforced with a vertical ring structure ofaluminum square plate. On the chest facade outside of the body, theacrylic plate fixes motion controller (10) and power board 9, the rightof the body fixes flywheel servo drive controller 4. Vacated by themiddle of plenty of space, pillars fix the install motor panels frontand rear on the robot's upper body. The inertia flywheel components areinstalled in the center. The right facade of thoracic cavity fixes servodrivers of the shaft components using acrylic. The middle of the chesthas diaphragm similar to the human (hollow and reinforced vertical ringstructure, alloy square plate of reinforced aluminum). Waist and chestreinforcement plate fixes rechargeable battery module 9 (LBS-100Cstandard lithium batteries). The main fixed-base plate mountsinclinometer 19 and a gyroscope 20 in the center. The plate on the basefixes with debugging bracket 13. The debugging bracket 13 fixes with thefour casters 15.

3. Electrical System Connection

As FIG. 5 shows, the connection of the various parts of the electricalsystem are as follows: MSK2812 board supply power by the PW-4512 powersupply module +5 V output, its 36, 35 pins of J7 interfaces is A/Dconverter input pins, 38, 39 pins respectively connect with theinclinometer CXTA02 and gyro ADIS16355. The SPI instrument ADIS16355gyroscope supplies by +5 V output of the J7 interface of MSK2812;inclinometer CXTA02 supplies by PW-4512 Power Supply Module 24V outputpin.

The connection between MSK2812 with two servo drives ACJ-55-18 includesthe control signals connections and encoder feedback signal pin. Controlsignals include motor enable signal, the direction signal of motorrotation and the amount of PWM signals of speed control. Which, the 3, 7pin of J5 interface of MSK2812 respectively connect with 3-pin of the J5interface of servo drives ACJ-55-18 for control of the flywheel, singlewheel motor, as the enable signal line of the servo drive ACJ-55-18; 5pin of the J5 interface of MSK2812, a foot flywheel and control,respectively connect with 6-pin of the J5 Interface of ACJ-55-18, as themotor rotation direction selection signal lines of single wheel motor;17, 18 pin of J7 interfaces of MSK2812 for the PWM output, respectivelyconnect with 20-pin of the J5 interface of flywheel and single wheelmotor servo drives ACJ-55-18, as the speed control signal line. Thefeedback signals of flywheel and single wheel motor encoder pass throughthe servo drive ACJ-55-18, is sent to MSK2812 after the cache throughthe connection: 0, 11 pin of the J5 interfaces of the flywheel andsingle wheel motor servo drives ACJ-55-18 1 respectively connect with27, 28 pin of the J7 interfaces and 13, 14 pin of J6 interfaces ofMSK2812.

3, 4 pin of two servo drives ACJ-55-18 in J3 interfaces is power input,respectively, connect with +24 V and GND of the power output; 3, 4 pinof J2 interface is the output voltage, respectively connect with themotor +/− input. Between 3 pin and motor + input a switch is fixed; 4, 6pin of J4 interface as +5 V and GND respectively connect with theencoder cable 2, 3-pin. 1, 8, 2, 9, 3, 10 pin of J4 interfacerespectively is A channel of the encoder, B channel and zero common-modeinput signals, respectively, connect with the cable of 5, 6, 7, 8, 9, 10of the encoder.

The LBS-100C standard lithium battery connects with the PW-4512 powersupply modules through a DPDT Rocker switch. The +/− input of PW-4512Power Module connect to +/− line of LBS-100C standard lithium battery toprovide DC output, respectively, connected to the supply side of thedevices.

4. Electrical System Work Principles

Main function of the case is to maintain balance while to control therobot to achieve commanded motion. As a result, robot electrical systemworks as shown in FIG. 3: Robot motion controller 10 reads the feedbacksignal of inclinometer 19 and gyroscope 20 of and the encoder feedbacksignal through the servo drive controller, and then synthesize suchfeedback signals with control commands to figure out the control valueof the motors trough motion balance control algorithm. Then send thecorresponding PWM signal to the servo drive controller; Single Wheelservo motor drive controller 8 controls the single wheel motor 12; thesingle wheel motor 12 drives the single wheel 14 rotation to maintainthe balance of pitch. Servo drive controller 4 controls the flywheelmotor 18 rotating the flywheel 17 to maintain balance of roll.

(II) The Robot Motion Control System

The case of single wheel robot gives mode control system of controllingforward motion and the software. Others such as the intelligentdecision-making behavior, voice control operation; etc can refer to thiscase and be designed similarly with adding the appropriate hardware andsoftware module.

The whole software of control system consists of two parts,respectively, running on the motion controller 10 and servo drivecontroller.

1. The Control Software in the Motion Controller (the Principle of FIG.6)

The control software in the motion controller 10 is developed in the CCSstudio, and downloaded in the storage unit. Procedures use 25 ms timerinterrupt to achieve the robot posture balance and movement control inreal-time. The implementation of the main program algorithm is given.Other routines such as initialization are directly referred to TI'sTMS320F2812 DSP manuals.

Proceedings do some necessary initialization to complete the variablesand DSP registers initialization at first. The main configuration willbe taken in the I/O ports and A/D channel, general purpose timers T1-T4,one cycle of the timer T1 for the interruption, T2, T4 for the encodercounters, T3 for the PWM signal output compare timer; and then open thePWM output to send to the servo drive controller enable signal; finally,to an infinite loop wait for interrupt arrival of each loop controlprocedures implemented in the detection and control algorithms;

When T1 timer expires 25 ms interrupt, DSP responses to the interrupt,save the current procedures for the scene, goes the timer interruptprogram, the process (control program) are:

-   -   1. Close timer T1 interrupt, ready to start;    -   2. Obtain the information of all Encoders. Each encoder output        signal is two sets of orthogonal coding sequence, the orthogonal        encoder pulse circuit of DSP capture these two sets of signal.        Rising and falling edges are counted. As a result the clock        frequency is four times each input sequence. So after reading        the values of the general-purpose timers T2 and T4, divide them        by four, to get the number of encoder pulses output n_(u), n_(d)        in a cycle;    -   3. Calculate the cumulated straight-line displacement of the        robot and the linear speed: the angle of each wheel can be        calculated by the information from the encoder during the cycle.        Due to control cycle is very short (25 ms), the speed of wheels        ω=φ/T and the straight-line speed V_(x)=ω·R/2 of wheels can be        approximately calculated. R stands for the wheel radius. Due to        control cycle is very short, Multiply accumulate the product of        V_(x) and T of the this control cycles and the accumulated        linear displacement, to the current accumulation of linear        displacement can be acquired, that is x(t)=x(t−T)+V_(x)T;    -   4. The analog voltage signal is converted to digital by A/D        converter. In order to avoiding the incidental factors, each of        the signal are continuously sampled 10 times for A/D conversion.        Remove the maximum of which and the minimum value, the average        is assigned to the corresponding voltage variables: U_(θ) ₁ ,        U_({dot over (θ)}) ₁ , U_(θ) ₂ , U_({dot over (θ)}) ₂ . A degree        of freedom is calculated on the inclination, through the        formula: θ=(U_(θ)−U₀)/S₂. θ is the corresponding robot's tilt        angle. U_(θ) is the calculated mean voltage. U₀ is a zero        voltage, S₂ is the sensitivity of the inclinometer (19).    -   5. The inclination angle speed {dot over (θ)} can be obtained        through the SPI.    -   6. The PWM duty cycle corresponding the torque of two control        motor can be acquired through the motion control algorithms, the        control command X^(C) as a reference input; the x, V_(x), θ₁,        {dot over (θ)}₁, θ₂, {dot over (θ)}₂ as state feedback. The        absolute value of the scope of torque: [0, 6] (Nm),        corresponding to 0˜100% duty cycle. When the duty is greater        than zero the motor turns the positive. When the duty is less        than zero the motor turns the negative.    -   7. Refresh the output of the PWM duty cycle to the servo drive        and the motor rotation direction;    -   8. Set timer T1, re-start 25 ms timing, set T2, T4, re-start        counting;    -   9. Open T1 interrupts, exit interrupt control procedure;

The algorithm of movement balance control of step 6 as follows:

As shown in FIG. 10, the system uses double-loop control structure:outside is the position (displacement) controller K₁. The controller K₁calculates the amount of linear displacement control U_(X) according toposition error and the displacement control algorithm. U_(X) as acontrol goal is passed to the inner loop-angle controller loop K₂. Thecontroller K₂ uses the current pitch angle θ₁, Pitch angle velocity {dotover (θ)}₁ the current roll angle θ₂ the current roll angle velocity{dot over (θ)}₂, The control values of motor torque can be figured outas [τ_(u) τ_(d)]^(T) through the coupling control algorithm;Displacement controller applies PID control algorithm; angle controlleralso applies the widely used PID control algorithms. The whole controlsystem constitutes a double-loop control structure.

Specific control algorithm process as follows:

Establishes the robot mathematical model, according to the robotmechanical system characteristics and parameters. Linear state spaceequation can be acquired by linearization around the equilibrium point:{dot over (X)}=AX+Bu

Where X=[θ₂, θ₁, ω, η, {dot over (θ)}₂, {dot over (θ)}₁, {dot over (ω)},{dot over (η)}]^(T), u=[τ_(d) τ_(u)]^(T), θ₁ for pitch angle; {dot over(θ)}₁ for pitch angle velocity; θ₂ for roll angle; {dot over (θ)}₂ forroll angle velocity, ω for the wheel rotation angle, {dot over (ω)} forthe wheel rotation angular velocity, η for the inertia flywheel (17)rotation angle, {dot over (η)} for the inertia flywheel (17) angularvelocity.

$A = \begin{bmatrix}0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\24.9770 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 60.9590 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & {- 108.3715} & 0 & 0 & 0 & 0 & 0 & 0 \\{- 24.9770} & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{bmatrix}$ $B = \begin{bmatrix}0 & 0 \\0 & 0 \\0 & 0 \\0 & 0 \\0 & {- 1.4159} \\{- 14.3988} & 0 \\40.4128 & 0 \\0 & 134.7493\end{bmatrix}$

That the system is completely controllable can be proved through thecontrol matrixes of the pitching motion subsystem and roll movementsubsystems are full rank. The value of each state variable of the systemcan also be measured.

By decoupling control theory, the whole robot system control tasks canbe decomposed into pitch degree of freedom to control and roll degree offreedom to control. And therefore, θ_(u) ^(c), θ_(d) ^(c) is referenceinput for the two subsystems, respectively, the state θ_(i), {dot over(θ)}_(i) (i=u,d;), That is the inclination of two DOF as the feedback ofthe balance control system. The two inner angle control subsystem of thestate feedback controller can be designed by PID control method: PIDcontrol parameters can be acquired by the critical shock method. As:

${Tilt}\mspace{14mu} {inner}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ {\begin{matrix}{K_{p}^{u} = 6000} \\{K_{i}^{u} = 3} \\{{K_{d}^{u} = 5200};}\end{matrix}{Roll}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{d} = 20000} \\{K_{i}^{d} = 3} \\{K_{d}^{d} = 20000}\end{matrix} \right.} \right.$

The PID control parameters of the robot outside the closed-loopdisplacement control can be obtained in the same method:

${Outer}\mspace{14mu} {X({distance})}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{x} = 0.02} \\{K_{i}^{x} = 0} \\{{K_{d}^{x} = 0.148};}\end{matrix} \right.$

So as to constitute the entire control system, the control objective isto move forward 10 meters, that is, in FIG. 16 the control objective isto go to 10 meters (10 meters straight line), the inclination of therobot during the control process is shown in FIG. 15, the actualdisplacement shown in FIG. 16 as the curve pass through (0, 0) point.

2. Servo Drive Controller Software

The servo drive ACJ-55-18 supporting PC-side software COPLEY MOTION2,automatically calculate the DC motor servo program PI regulatorparameters according to input parameters. The servo-control proceduresis automatically generated after the simple structure of control systemsetting and downloaded to the storage unit of ACJ-55-18 through theserial port. The servo process control cycle is 1 ms. Signals ofDSP-output PWM and turn were motor reference torque and reference shift.The armature current is negative feedback. The overall control loop ofmotor torque is PID servo control.

(III) The Application of Robotic Systems

Applying the robot, can follow these steps:

1. Installation of Hardware

2. Installation of electrical system

3. Confirming that the hardware and electrical system is connectedcorrectly.

4. All switches should be off at first.

5. Balance the robot to an upright position.

6. Turn the switches on, the robot begins balance control.

7. After Robot in the stable state, no longer support.

8. Support the robot before turning off motor switches, the main powerswitch.

9. Place the robot to a cool, desiccate and safe depositary out ofchildren's reach.

1. A single wheel robot system, including a mechanical body and acontrol system; the mechanical body including a metal frame rigid body,a modular robotic head and neck which comprises two-dimensional PTZ, anda detachable robot arm, an end of the detachable arm being amulti-fingered robot hand; wherein upper balance components and lowerbalance components constitute a balance control structure, the lowerbalance components include a balanced single wheel and a single wheelmotor, the upper balance components include an inertia flywheel and aflywheel motor; the control system comprising state sensors, a motioncontroller and two servo-drive controllers and a power supply system,wherein the state sensors include attitude sensors and speed sensors;the motion controller receives a signal from the state sensors and,then, issues a control instruction through a control procedure and thesignal; the two servo-drive controllers receive the control instructionand, respectively, through the single wheel motor and the flywheelmotor, control rotation of the single wheel and the inertia flywheel tobalance the robot; wherein a shaft of the inertia flywheel is pointingat forward and backward direction; an adjustable debugging support isdesigned around the single wheel, all around the debug support is aremovable caster.
 2. The single wheel robot system of claim 1, whereinthe inertia flywheel comprises a pair of removable structures,consisting of two semicircular side by side.
 3. The single wheel robotsystem of claim 1, wherein the attitude sensor is an inclinometer or agyroscope; the speed sensor is encoders installed on the single wheelmotor and the flywheel motor; the motion controller is a MTS2812 digitalsignal processor card; the servo-drive controller is an ACJ-55-18 servodrive; the power supply system comprises a power supply board and arechargeable Lithium batteries module.
 4. The single wheel robot systemof claim 3, wherein the gyroscope has a temperature sensor fortemperature compensation.
 5. The single wheel robot system of claim 3,wherein perception sensors installed in the robot's head are adual-camera vision sensor, MIC constituting a hearing sensors andinfrared sensors located between the pairs of cameras, and sonar sensorsinstalled in the robot waist, remote control receiver; an auxiliarymicrocontroller (MCU) receives signals from sonar sensors, remotecontrol sender and embedded computer (EPC) system receives signals fromthe vision sensor, the infra-red sensor and the auditory sensor; themain controller-EPC can receive information of the motion controller-DSPand auxiliary controller-MCU information, and provide controlinstructions for the motion controller and pass voice command thespeaker.
 6. The single wheel robot system of claim 5, wherein afterremoving the forward and back casters of the debugging support andleaving the other casters in the same horizontal line, the robot turnsinto a forward and back balance robot with the single wheel.
 7. Thesingle wheel robot system of claim 5, after removing the left and rightcasters of the debugging support and leaving the other casters in thesame horizontal line, the robot turns into a left and back balance robotwith the single wheel.
 8. As described the claims 5 a control method ofthe single wheel robot system are as follows: 1) Master controller (3)compute the robot straight and yaw rate control commands and issue tothe motion control device (10) to implement in accordance with softprocedures or to commands from the remote control instruction of user,and the feedback of sensors, through the decision-making algorithm. Itsdecision-making algorithm consists of the following steps to complete:Action generator, refer to the user command or ultrasonic distancemeasurement information to calculate expectations of straight and yawrate control commands, and then the decision-making device (motioncontroller) determines whether the implementation of the expectations ofcontrol commands according to the status of robot posture. If the robotis balanced, the expected control commands turns into the actual controlcommands; or the instruction of the master controller will not becomethe actual control command and the actual control command will be zero,that is, first adjust the robot balance. Then carry out the instruction;The command Generator Optional: look-up table, dynamic programming,fuzzy logic or expert system and so on. 2) In a motion control cycle,the motion controller (10) reads the feedback signal of the inclinometeron the robot base (19), gyroscopes (20), and compare the value of zeroinclination angle to calculate the error signal of the angle and anglespeed; the feedback signal obtained by the following steps: motioncontroller (10) Multiply acquire output signal of the inclinometer (19)and the Gyro (20), and DSP calculate the feedback signal through signalprocessing algorithms. 3) Motion Controller (10) reads the feedbacksignal of motor encoders, calculates robot speed, and derives errorsignal through comparing the control command given by the maincontroller (3). 4) According to the error signal, Motion Controller (10)calculates the control value of motors according to the balance controlalgorithm and then sends to the servo drive controller; The motionbalance control algorithm: with the use of decoupling control theory,the inclination will be decomposed to the robot's pitch degree offreedom and the roll degree: Angle_(FB), Angle_(LR) and the angle speedwhich is AngleV_(FB) and AngleV_(LR), and then use the established PIDcontrol algorithm, or fuzzy control, or the LQR, or a pole placementalgorithm, or robust control algorithm, or other control algorithms toobtain the required Control value: U_(U), U_(D). And then control eachmotor to control the single wheel-M_(D) and the inertia flywheelmotor-M_(U). 5) Servo drive controllers (12) control the flywheel motor(18) and the single wheel (14) motor in the debug bracket (13), then themotors drive the inertia flywheel balancing component (17) and thesingle wheel (14), the movement of the wheels adjust the robot balanceand exercise the prescribed command; the motor armature current feedbackloop achieves the motor torque control. The servo control cycle is farless than the robot motion control cycle.
 9. As described in claim 3 thecharacteristics of a single wheel robot system are: retaining only therobot mechanical ontology in the trunk, the overall balance of controlstructure, inclinometer (19), gyroscopes (20), encoder, MTS2812 digitalsignal processor board and two servo drives ACJ-55-18 of control system,power supply board (5) and rechargeable battery module (9), the robotcan work properly in mini mode.
 10. As described in claim 9 thecharacteristics of a single wheel robot system control method are: thecontrol program runs respectively on the motion controller (10) andservo drive controller for the robot balance, Motion Controller (10) andservo drive controller control program are as follows: (1) The programin motion controller (10): Proceedings do some necessary initializationto complete the variables and DSP registers initialization at first. Themain configuration will be taken in the I/O ports and A/D channel,general purpose timers T1-T4, one cycle of the timer T1 for theinterruption, T2, T4 for the encoder counters, T3 for the PWM signaloutput compare timer; and then open the PWM output to send to the servodrive controller enable signal; finally, to an infinite loop wait forinterrupt arrival of each loop control procedures implemented in thedetection and control algorithms; When T1 timer expires 25 ms interrupt,DSP responses to the interrupt, save the current procedures for thescene, goes the timer interrupt program, the process (control program)are: 1) Close timer T1 interrupt, ready to start; 2) Obtain theinformation of all Encoders. Each encoder output signal is two sets oforthogonal coding sequence, the orthogonal encoder pulse circuit of DSPcapture these two sets of signal. Rising and falling edges are counted.As a result, the clock frequency is four times each input sequence. Soafter reading the values of the general-purpose timers T2 and T4, dividethem by four, to get the number of encoder pulses output n_(u), n_(d) ina cycle; 3) Calculate the cumulated straight-line displacement of therobot and the linear speed: the angle of each wheel can be calculated bythe information from the encoder during the cycle. Due to control cycleis very short (25 ms), the speed of wheels ω=φ/T and the straight-linespeed V_(x)=ω·R/2 of wheels can be approximately calculated. R standsfor the wheel radius. Due to control cycle is very short, Multiplyaccumulate the product of V_(x) and T of the this control cycles and theaccumulated linear displacement, to the current accumulation of lineardisplacement can be acquired, that is x(t)=x(t−T)+V_(x)T; 4) The analogvoltage signal is converted to digital by A/D converter. In order toavoiding the incidental factors, each of the signal are continuouslysampled 10 times for A/D conversion. Remove the maximum of which and theminimum value, the average is assigned to the corresponding voltagevariables: U_(θ) ₁ , U_({dot over (θ)}) ₁ , U_(θ) ₂ , U_({dot over (θ)})₂ . A degree of freedom is calculated on the inclination, through theformula: θ=(U_(θ)−U₀)/S₂. θ is the corresponding robot's tilt angle.U_(θ) is the calculated mean voltage. U₀ is a zero voltage, S₂ is thesensitivity of the inclinometer (19). 5) The inclination angle speed{dot over (θ)} can be obtained through the SPI. 6) The PWM duty cyclecorresponding the torque of two control motor can be acquired throughthe motion control algorithms, the control command X^(C) as a referenceinput; the x, V_(x), θ₁, {dot over (θ)}₁, θ₂, {dot over (θ)}₂ as statefeedback. The absolute value of the scope of torque: [0, 6] (Nm),corresponding to 0˜100% duty cycle. When the duty is greater than zerothe motor turns the positive. When the duty is less than zero the motorturns to negative. The algorithm of movement balance control asfollows: 1) Establishes the robot mathematical model, according to therobot mechanical system characteristics and parameters. linear statespace equation can be acquired by linearization around the equilibriumpoint: {dot over (X)}=AX+Bu Where X=[θ₂, θ₁, ω, η, {dot over (θ)}₂, {dotover (θ)}₁, {dot over (ω)}, {dot over (η)}]^(T), u=[τ_(d) τ_(u)]^(T), θ₁for pitch angle; {dot over (θ)}₁ for pitch angle velocity; θ₂ for rollangle; {dot over (θ)}₂ foe roll angle velocity, ω for the wheel rotationangle, {dot over (ω)} for the wheel rotation angular velocity, η for theinertia flywheel (17) rotation angle, {dot over (η)} for the inertiaflywheel (17) angular velocity. $A = \begin{bmatrix}0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 1 & 0 \\0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\24.9770 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & 60.9590 & 0 & 0 & 0 & 0 & 0 & 0 \\0 & {- 108.3715} & 0 & 0 & 0 & 0 & 0 & 0 \\{- 24.9770} & 0 & 0 & 0 & 0 & 0 & 0 & 0\end{bmatrix}$ $B = \begin{bmatrix}0 & 0 \\0 & 0 \\0 & 0 \\0 & 0 \\0 & {- 1.4159} \\{- 14.3988} & 0 \\40.4128 & 0 \\0 & 134.7493\end{bmatrix}$ b) That the system is completely controllable can beproved through the control matrixes of the pitching motion subsystem androll movement subsystem are full rank. The value of each state variableof the system can also be measured. c) By decoupling control theory, thewhole robot system control tasks can be decomposed into pitch degree offreedom to control and roll degree of freedom to control. And therefore,θ_(u) ^(c), θ_(d) ^(c) are reference input for the two subsystems,respectively, the state θ_(i), {dot over (θ)}_(i) (i=u,d;), That is theinclination of two DOF as the feedback of the balance control system.The two inner angle control subsystem of the state feedback controllercan be designed by PID control method: PID control parameters can beacquired by the critical shock method. As:${Tilt}\mspace{14mu} {inner}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ {\begin{matrix}{K_{p}^{u} = 6000} \\{K_{i}^{u} = 3} \\{{K_{d}^{u} = 5200};}\end{matrix}{Roll}\mspace{14mu} {degrees}\mspace{14mu} {of}\mspace{14mu} {freedom}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{d} = 20000} \\{K_{i}^{d} = 3} \\{K_{d}^{d} = 20000}\end{matrix} \right.} \right.$  The PID control parameters of the robotoutside the closed-loop displacement control can be obtained in the samemethod:${Outer}\mspace{14mu} {X({distance})}\mspace{14mu} {control}\text{:}\mspace{14mu} \left\{ \begin{matrix}{K_{p}^{x} = 0.02} \\{K_{i}^{x} = 0} \\{{K_{d}^{x} = 0.148};}\end{matrix} \right.$ 7) Refresh the output of the PWM duty cycle to theservo drive and the motor rotation direction; 8) Set timer T1, re-start25 ms timing, set T2, T4, re-start counting; 9) Open T1 interrupts, exitinterrupt control procedure; (2) The servo drive controller controlprogram: The servo drive ACJ-55-18 supporting PC-side software COPLEYMOTION2, automatically calculate the DC motor servo program PI regulatorparameters according to input parameters. The servo-control proceduresis automatically generated after the simple structure of control systemsetting and downloaded to the storage unit of ACJ-55-18 through theserial port. The servo process control cycle is 1 ms. Signals ofDSP-output PWM and turn were motor reference torque and reference shift.The armature current is negative feedback. The overall control loop ofmotor torque is PID servo control.
 11. The single wheel robot system ofclaim 2, wherein the attitude sensor is an inclinometer or a gyroscope;the speed sensor is encoders installed on the single wheel motor and theflywheel motor; the motion controller is a MTS2812 digital signalprocessor card; the servo-drive controller is an ACJ-55-18 servo drive;the power supply system comprises a power supply board and arechargeable Lithium batteries module.
 12. The single wheel robot systemof claim 11, wherein the gyroscope has a temperature sensor fortemperature compensation.
 13. The single wheel robot system of claim 11,wherein perception sensors installed in the robot's head are adual-camera vision sensor, MIC constituting a hearing sensors andinfrared sensors located between the pairs of cameras, and sonar sensorsinstalled in the robot waist, remote control receiver; an auxiliarymicrocontroller (MCU) receives signals from sonar sensors, remotecontrol sender and embedded computer (EPC) system receives signals fromthe vision sensor, the infra-red sensor and the auditory sensor; themain controller-EPC can receive information of the motion controller-DSPand auxiliary controller-MCU information, and provide controlinstructions for the motion controller and pass voice command thespeaker.
 14. The single wheel robot system of claim 13, wherein afterremoving the forward and back casters of the debugging support andleaving the other casters in the same horizontal line, the robot turnsinto a forward and back balance robot with the single wheel.
 15. Thesingle wheel robot system of claim 13, after removing the left and rightcasters of the debugging support and leaving the other casters in thesame horizontal line, the robot turns into a left and back balance robotwith the single wheel.